package com.codefish.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.codefish.entity.OutMoney;

/**
 * 支出
 *
 * @author codefish
 * @email cool_fish@aliyun.com
 * @date 2021-07-15 15:43:57
 */
public interface OutMoneyService extends IService<OutMoney> {

    /**
     * 新增
     *
     * @param outMoney
     * @return
     */
    int saveOne(OutMoney outMoney);

    /**
     * 修改
     *
     * @param outMoney
     * @return
     */
    boolean updateOne(OutMoney outMoney);

    /**
     * 确认当前用户是否可以访问此条支出记录
     *
     * @param userId
     * @param id
     * @return
     */
    boolean checkQualification(Long userId, Integer id);

    /**
     * 根据id获取详情
     *
     * @param id
     * @return
     */
    OutMoney getItemById(Integer id);

    /**
     * 删除
     *
     * @param id
     * @return
     */
    boolean deleteOne(Integer id);

    /**
     * 条件分页查询
     *
     * @param familyId
     * @param pageNo
     * @param pageSize
     * @return
     */
    IPage<OutMoney> getPageByParams(Integer familyId, Integer pageNo, Integer pageSize);
}

